const mysql = require("mysql")
// 生产环境域名：http://xxx.com    开发环境域名：http://localhost
const host = "http://127.0.0.1";
const jwt = require("jsonwebtoken")

// 生产环境端口：自定义     开发环境域名：9000
const port = 9000;

const pool = mysql.createPool({
    host:'localhost',
    port:3306,
    database:"cms",
    user:"root",
    password:"root"
})

//对数据库进行增删改查操作的基础
const query = (sql,callback) => {
    pool.getConnection(function(err,connection){
        connection.query(sql, function (err,rows) {
            callback(err,rows)
            connection.release()
        })
    })
}

/* 
    返回信息的解构
    errCode：0代表成功；1代表参数错误；2代表其他错误
    message: 请求结果信息
    data : 返回给前端的数据
*/
const returnMsg = (errCode, message, data) => {
    return {
        errCode : errCode || 0,
        message : message || '',
        data : data || {},
    }
}

// 数据库操作promise封装
const queryFn = (sql)=>{
    return new Promise((resolve, reject)=>{
        
        query(sql, (err, rows)=>{
            if(err){
                reject(err)
            }
            resolve(rows)
        })
    })
}

// 鉴权函数 
const jwtVerify = (token) => {
    try {
        jwt.verify(token,"hanyu")
    }catch(err){
        return false;
    }
    return true
}




module.exports = {
    host, port, query, returnMsg, queryFn, jwtVerify
}